﻿using System.ComponentModel.DataAnnotations.Schema;
using Swimj.ApplicationLib.Entities;
using System.Diagnostics.CodeAnalysis;

namespace DataServer.ApplicationLib.Entities
{
    [Table("DS_CONFIGFIELD")]
    public class ConfigFieldEntity: AuditableEntity
    {
        public Guid Id { get; set; }

        [NotNull]
        public Guid? ConfigId { get; set; }

        [NotNull]
        public string? FieldCode { get; set; }

        [NotNull]
        public string? FieldName { get; set; }

        public string? DisplayName { get; set; }

        [NotNull]
        public string? ValueColumnMap { get; set; }

        public string? DataType { get; set; }

        public int Sort { get; set; }

        public string? Description { get; set; }

        public bool IsRequired { get; set; }

        public bool IsKey { get; set; }

        public bool IsVisible { get; set; }

        public bool IsSearch { get; set; }

        public string? DefaultValue { get; set; }

        public bool SearchRequired { get; set; }

        public string? ControlType { get; set; }

        public string? ControlContent { get; set; }

        public bool IgnoreCtlVerify { get; set; }

        public bool IsImportKey { get;  set; }
    }
}
